/**
 * Banner服务类
 * 用于获取banner列表等banner相关操作
 */

const request = require('../libs/request');

class BannerService {
	/**
	 * 获取banner列表
	 * @param {Object} params 查询参数
	 * @param {boolean} params.showLoading 是否显示加载提示，默认false
	 * @returns {Promise<Object>} 返回banner列表数据
	 */
	static async getBannerList(params = {}) {
		const { showLoading = false } = params;

		try {
			const response = await request.get('/v1/common/banners', {
				showLoading,
                needAuth: false
			});

			return {
				success: true,
				data: response.data,
				message: response.message || '获取banner列表成功'
			};
		} catch (error) {
			console.error('获取banner列表失败:', error);
			return {
				success: false,
				data: null,
				message: error.message || '获取banner列表失败'
			};
		}
	}

	/**
	 * 获取活跃的banner列表（用于前端展示）
	 * @param {Object} params 查询参数
	 * @param {boolean} params.showLoading 是否显示加载提示，默认false
	 * @returns {Promise<Object>} 返回活跃banner列表
	 */
	static async getActiveBanners(params = {}) {
		const { showLoading = false } = params;

		// 直接调用getBannerList，因为接口返回的就是活跃的banner
		return this.getBannerList({ showLoading });
	}
}

module.exports = BannerService;
